.\"   $Id: chain.3,v 1.1 2002/03/08 13:51:01 fred Exp $
.\" @(#)chain.l 0.0 90/22/08 UPMC; Author: Frederic Petrot
.if t \{\
.so man1/alc_contents.mac
.XS \n%
.ti 0.2i
chain
.XE
.XS4 \n%
.ti 0.2i
chain
.XE4 \}
.TH CHAIN 3 "October 1, 1997" "ASIM/LIP6" "MBK UTILITY STRUCTURE DEFINITIONS"
.SH NAME
chain \- mbk lisp-like service structure 
.SH DESCRIPTION
The \fBchain\fP is used for any purpose, when a list of pointer is required.
The use of this structure is strongly recommended, when such a need occurs.
.LP
The declarations needed to work on \fBchain\fP are available in the header file
\fI"/labo/include/mut315.h"\fP, where '\fI315\fP' is the actual mbk version.
.LP
The following C structure supports the description of the chain :
.RS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
.ta 3n 20n 30n
typedef struct chain {
	struct chain	\(**NEXT;
	void	\(**DATA;
} chain_list;
.ft R
.fi
.RE
.TP 20
\fINEXT\fP
Pointer to the next \fBchain\fP of the list.
.TP
\fIDATA\fP
Generic pointer used to point to any kind of object. Do not forget to
cast the pointer back to its previous type when using this field.
.TP
Remark :
a specialized memory allocator has been built in order to create and free
\fBchain_list\fPs, so absolutly avoid to create or free them an other way than
through the access functions.
.SH SEE ALSO
.BR mbk (1),
.BR addchain (3),
.BR freechain (3),
.BR delchain (3).


.so man1/alc_bug_report.1

